﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.CodeDom;

namespace CodeDomHelper.CodeDom
{

    [Serializable()]
    public class PropertyMember : CodeMemberProperty
    {


        
        public PropertyMember(string propertyName, string type)
            : base()

        {
            this.Type = new TypeExp(type);
        }

        public PropertyMember(string propertyName, Type type)
            : base()
        {
            this.Type = new TypeExp(type);
        }

        public PropertyMember(string propertyName, TypeExp type)
            : base()
        {
            this.Type = type;            
        }


        public PropertyMember(string propertyName, string type, VariableExp index)
            : base()
        {
            this.Type = new TypeExp(type);
            this.Parameters.Add((ParameterExp)index);
        }

        public PropertyMember(string propertyName, Type type, VariableExp index)
            : base()
        {
            this.Type = new TypeExp(type);
            this.Parameters.Add((ParameterExp)index);
        }

        public PropertyMember(string propertyName, TypeExp type, VariableExp index)
            : base()
        {
            this.Type = type;
            this.Parameters.Add((ParameterExp)index);
        }




        public new TypeExp Type { get; set; }


    }
}


